package Basic;

import java.awt.Container;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTable;

public class GUIFrameTest extends JFrame {
	public GUIFrameTest() {
		super("JFrame演示");/* 显示调用JFrame的有参构造器 */
	}

	public static void main(String[] args) {
		GUIFrameTest guiFrameTest = new GUIFrameTest();/* GUIFrameTest继承了JFrame，可以直接创建一个自身类就可以创建窗口 */
		guiFrameTest.setVisible(true);/* 窗口可见 */
		guiFrameTest.setBounds(100, 100, 800, 800);/* 窗口参数，窗口距离left和top的绝对定位，窗口的宽和高 */
		guiFrameTest.setLayout(null);/* 窗口的布局为null布局，其实就是rootPanel的布局为null布局 */

		Container container = guiFrameTest.getContentPane();/* 通过已经创建的JFrame对象获取Container对象 */
		
		JPanel jPanel=new JPanel();
		jPanel.setBounds(100, 100, 400, 400);
		
		JTable jTable1=new JTable();/*一个大的表格，存在但是看不见*/
		JTable jTable2=new JTable(8, 6);/*8行6列的表格*/
		
		final Object[] columnNames= {"A","B","C","D","E","F"};/*表头的名字，由于不能确定每一个元素的类型，直接使用object类数组存放，表头名字一般来说设置了就不会更改，所以使用final修饰*/
		Object[][] rowData= {{"A","B","C","D","E","F"},{"A","B","C","D","E","F"},{"A","B","C","D","E","F"}};
		JTable jTable3=new JTable(rowData, columnNames);
		//jPanel.add(jTable1);
		//jPanel.add(jTable2);
		jPanel.add(jTable3);
		
		container.add(jPanel);
		/*
		 * JButton btnNO = new JButton("No"); 创建三个Swing控件 JButton btnYes = new
		 * JButton("Yes"); JButton btnCancel = new JButton("Cancel");
		 */
		/*
		 * JPanel jpanel = new JPanel(); 新建一个画布jpanel jpanel.setBounds(0, 0, 50, 50);
		 * 设置新建画布的参数 btnNO.setBounds(5, 5, 10, 10); 设置控件的参数 btnYes.setBounds(20, 5, 10,
		 * 10); jpanel.add(btnNO); 控件加入到新建的画布中 jpanel.add(btnYes);
		 * container.add(jpanel); 将新建的画布放入窗口中
		 * 
		 * JPanel jpanel2 = new JPanel(); 新建一个画布jpanel2 jpanel2.setBounds(50, 51, 300,
		 * 200); 设置新建画布的参数 btnCancel.setBounds(20, 20, 20, 10); jpanel2.add(btnCancel);
		 * 控件加入到新建的画布中 container.add(jpanel2); 将新建的画布放入窗口中
		 * 
		 * guiFrameTest.setDefaultCloseOperation(EXIT_ON_CLOSE); 设置窗口的默认关闭方法（窗口右上角的X）的作用
		 *//**
			 * 有四个静态常量可选： EXIT_ON_CLOSE 关闭窗口，并退出程序 DISPOSE_ON_CLOSE 关闭窗口，清楚对象，但不退出程序
			 * DO_NOTHING_ON_CLOSE 不能关闭窗口 HIDE_ON_CLOSE 关闭窗口，继续运行程序 //酷狗英语就是这样的形式
			 *//*
				 * 
				 * ButtonGroup buttonGroup=new ButtonGroup(); JCheckBox jCheckBox1 = new
				 * JCheckBox("男"); JCheckBox jCheckBox2 = new JCheckBox("女");
				 * 
				 * buttonGroup.add(jCheckBox1); buttonGroup.add(jCheckBox2);
				 */

		/*
		 * jpanel2.add(jCheckBox1); jpanel2.add(jCheckBox2);
		 * 
		 * 
		 * JRadioButton jRadioButton1 = new JRadioButton("英语"); JRadioButton
		 * jRadioButton2 = new JRadioButton("语文"); JRadioButton jRadioButton3 = new
		 * JRadioButton("数学"); jpanel2.add(jRadioButton1); jpanel2.add(jRadioButton2);
		 * jpanel2.add(jRadioButton3);
		 */

	}
}
